home *** CD-ROM | disk | FTP | other *** search
- /******************************************************************************
- ** **
- ** Module: QD3DExtensions.h **
- ** **
- ** **
- ** **
- ** Purpose: **
- ** **
- ** **
- ** Copyright (C) 1992-1994 Apple Computer, Inc. All rights reserved. **
- ** **
- ** **
- *****************************************************************************/
- #ifdef ESCHER_VER_15
-
- #if ESCHER_VER_15
-
- #ifndef QD3DExtensions_h
- #define QD3DExtensions_h
-
-
- #if PRAGMA_ONCE
- #pragma once
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
-
-
- /******************************************************************************
- ** **
- ** Constants **
- ** **
- *****************************************************************************/
-
- #define kQ3ExtensionFileType Q3_FOUR_CHARACTER_CONSTANT('e','e','x','t')
- #define kQ3ExtensionResourceType Q3_FOUR_CHARACTER_CONSTANT('e','e','x','t')
-
- #define kQ3ExtensionKindUnknown Q3_FOUR_CHARACTER_CONSTANT('?','?','?','?')
- #define kQ3ExtensionKindRenderer Q3_FOUR_CHARACTER_CONSTANT('r','e','n','d')
- #define kQ3ExtensionKindShader Q3_FOUR_CHARACTER_CONSTANT('s','h','d','r')
-
- #define kQ3ExtensionMaxShortNameLen 64
-
- #define kQ3ExtensionInfoVersion 0x00010000
-
-
- /******************************************************************************
- ** **
- ** Types **
- ** **
- *****************************************************************************/
-
- typedef long TQ3ExtensionKind;
- typedef void *TQ3Extension;
- typedef unsigned long TQ3ExtensionInfoVersion;
-
-
- /******************************************************************************
- ** **
- ** Public API **
- ** **
- *****************************************************************************/
-
- EXPORT TQ3Status Q3Extension_First(
- TQ3Extension *extension);
-
- EXPORT TQ3Status Q3Extension_Next(
- TQ3Extension *extension);
-
- EXPORT TQ3Status Q3Extension_Load(
- TQ3Extension extension);
-
- EXPORT TQ3Status Q3Extensions_LoadAll(
- void);
-
- EXPORT TQ3Status Q3Extension_GetShortName(
- TQ3Extension extension,
- char *shortName);
-
- EXPORT TQ3Status Q3Extension_GetLongName(
- TQ3Extension extension,
- char *shortName);
-
- EXPORT TQ3Status Q3Extension_GetComments(
- TQ3Extension extension,
- char *shortName);
-
- EXPORT TQ3Status Q3Extension_GetInformation(
- TQ3Extension extension,
- char *shortName);
-
- EXPORT TQ3Status Q3Extension_GetIcon(
- TQ3Extension extension,
- void **icon); /* PicHandle on Macintosh */
-
- EXPORT TQ3Status Q3Extension_GetLogo(
- TQ3Extension extension,
- void **logo); /* PicHandle on Macintosh */
-
- EXPORT TQ3Status Q3Extension_GetPicture(
- TQ3Extension extension,
- void **picture); /* PicHandle on Macintosh */
-
- EXPORT TQ3Status Q3Extension_GetMemoryUsage(
- TQ3Extension extension,
- unsigned long *memoryUsage);
-
-
- /******************************************************************************
- ** **
- ** Acceleration Types **
- ** **
- *****************************************************************************/
-
- typedef enum TQ3AcceleratorType {
- kQ3AcceleratorTypeUndefined = 0 /* just a place holder */
- } TQ3AcceleratorType;
-
- typedef struct TQ3AcceleratorData {
- TQ3AcceleratorType type;
- void *privateData;
- } TQ3AcceleratorData;
-
- typedef long TQ3AcceleratorID;
-
-
- /******************************************************************************
- ** **
- ** Routines **
- ** **
- *****************************************************************************/
-
- EXPORT TQ3Status Q3Accelerator_Register(
- TQ3AcceleratorData *data,
- TQ3AcceleratorID *id);
-
- EXPORT TQ3Status Q3Accelerator_Unregister(
- TQ3AcceleratorID *id);
-
- EXPORT TQ3Status Q3Accelerator_First(
- TQ3AcceleratorID *id);
-
- EXPORT TQ3Status Q3Accelerator_GetNext(
- TQ3AcceleratorID *id);
-
- EXPORT TQ3Status Q3Accelerator_GetData(
- TQ3AcceleratorID *id,
- TQ3AcceleratorData *data);
-
- EXPORT void Q3Accelerators_Init(
- void);
-
- EXPORT void Q3Accelerators_Exit(
- void);
-
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
-
- #endif /* QD3DExtensions_h */
-
- #endif /* Escher 1.5 */
-
- #endif /* ESCHER_VER_15 */
-